home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / CRS / crs54.d81 / sgtool13.arc / CIA.H < prev    next >
C/C++ Source or Header  |  1993-08-28  |  2KB  |  71 lines

  1. /*
  2. SG C Tools 1.3
  3.  
  4. (C) 1993 Steve Goldsmith
  5. All Rights Reserved
  6.  
  7. Compiled with HI-TECH C 3.09 (CP/M-80).
  8. */
  9.  
  10. #define cia1 0xDC00 /* complex interface adapter #1 */
  11. #define cia2 0xDD00 /* complex interface adapter #2 */
  12.  
  13. #define ciaDataA     0 /* cia registers */
  14. #define ciaDataB     1
  15. #define ciaDataDirA  2
  16. #define ciaDataDirB  3
  17. #define ciaTimerALo  4
  18. #define ciaTimerAHi  5
  19. #define ciaTimerBLo  6
  20. #define ciaTimerBHi  7
  21. #define ciaTODTen    8
  22. #define ciaTODSec    9
  23. #define ciaTODMin   10
  24. #define ciaTODHrs   11
  25. #define ciaSerial   12
  26. #define ciaIntCtrl  13
  27. #define ciaControlA 14
  28. #define ciaControlB 15
  29.  
  30. #define vicExtKey    0xD02F   /* not part of cia, but used for key scan */
  31.  
  32. #define ciaTimerFreq 1022730L /* cia timer freq */
  33. #define ciaClearIcr  0x7F     /* clear all cia irq enable bits */
  34. #define ciaCPUCont   0x11     /* load latch, start timer, count cpu cycles continuous */
  35. #define ciaCPUOne    0x19     /* load latch, start timer, count cpu cycles one shot */
  36. #define ciaCountA    0x51     /* load latch, start timer, count timer a */
  37.  
  38. #define ciaNone      0x1F     /* joy stick direction masks */
  39. #define ciaFire      0x10
  40. #define ciaUp        0x01
  41. #define ciaDown      0x02
  42. #define ciaLeft      0x04
  43. #define ciaRight     0x08
  44. #define ciaUpLeft    0x05
  45. #define ciaUpRight   0x09
  46. #define ciaDownLeft  0x06
  47. #define ciaDownRight 0x0A
  48.  
  49. #define ciaPotsPort1 0x40     /* 4066 analog switch settings for cia 1 */
  50. #define ciaPotsPort2 0x80
  51.  
  52. typedef uchar ciaTODRec[4];   /* types for various cia related functions */
  53. typedef char  ciaTODStr[12];
  54. typedef uchar ciaKeyRec[11];
  55.  
  56. extern void gettodcia (ushort C, uchar *TOD);
  57. extern void settodcia (ushort C, uchar *TOD);
  58. extern void todcharcia (uchar Bcd, char *TODStr);
  59. extern void todstrcia (uchar *TOD, char *TODStr);
  60.  
  61. extern void setintctrlcia (ushort C, uchar Icr);
  62.  
  63. extern void settimeracia (ushort C, ushort Latch, uchar CtrlReg);
  64. extern ushort gettimeracia (ushort C);
  65. extern void settimerbcia (ushort C, ushort Latch, uchar CtrlReg);
  66. extern ushort gettimerbcia (ushort C);
  67. extern ushort timervalcia (ulong Hz);
  68.  
  69. extern void getjoyscia(void);
  70. extern void getkeyscia(void);
  71.